//
//  Help.h
//  palmcar
//
//  Created by lanou on 15/10/10.
//  Copyright © 2015年 lanou3g.com 蓝鸥科技. All rights reserved.
//

#if 0
    // 引入头文件  #import "MJRefresh.h"
    @interface QTHotForumViewController ()
    @property(nonatomic,retain)NSMutableArray *modelFrameArr;//模型数组
    @property(nonatomic,assign)NSInteger pageNumber;// 加载第几页
    @property(nonatomic,assign)BOOL isUpLoading;// 是否上拉加载更多
    @end

- (void)viewDidLoad {
    [super viewDidLoad];
    
    [self addHeader];
    [self addFooter];
    self.pageNumber = 1;
    [self createDataWithNumber:1];
}
//下拉刷新
- (void)addHeader{
    __block QTHotForumViewController *hotVC = self;
    // 添加下拉刷新头部控件
    [self.myTablbeView addHeaderWithCallback:^{
        
        // 进入刷新状态就会回调这个Block
        hotVC.pageNumber = 1;
        hotVC.isUpLoading = NO;//标记为下拉操作
        
        //重新请求数据
        [hotVC  createDataWithNumber:hotVC.pageNumber];
    }];
}
- (void)addFooter{
    __block QTHotForumViewController *hotVC = self;
    // 添加上拉刷新尾部控件
    [self.myTablbeView addFooterWithCallback:^{
        
        // 进入刷新状态就会回调这个Block
        hotVC.pageNumber++;
        hotVC.isUpLoading = YES;//标记为上拉操作
        
        //请求更多数据
        [hotVC createDataWithNumber:hotVC.pageNumber];
    }];
}

//注意数据请求的延迟,导致执行顺顺有一定的变化,有可能带来不良的结果
- (void)createDataWithNumber:(NSInteger)page{
    if (self.isUpLoading == NO) {
        //如果是下拉刷新移除所有模型
        [self.modelFrameArr removeAllObjects];
    }
    NSString *string = [NSString stringWithFormat:@"http://mrobot.pcauto.com.cn/v3/bbs/newForumsv45/%ld?pageNo=%ld&pageSize=20&orderby=replyat&needImage=true&timestamp=1441961508874&filter=pick",self.forumid,page];
    
    [QTAFNnetWorkTool getUrl:string body:nil hudSuperView:self.view result:QTJSON headerFile:nil success:^(id result) {
        NSMutableArray *modelArr = [QTHotForumModel baseModelByArr:result[@"topicList"]];
        
        for (NSInteger i = 0; i < modelArr.count; i++) {
            QTHotForumFrameModel *hotForumFrameModel = [[QTHotForumFrameModel alloc] init];
            hotForumFrameModel.hotForumModel = modelArr[i];
            [self.modelFrameArr addObject:hotForumFrameModel];
            [hotForumFrameModel release];
        }
        
        self.placeLabel.hidden = YES;
        [self.myTablbeView reloadData];
        
        // 结束刷新
        [self.myTablbeView headerEndRefreshing];
        [self.myTablbeView footerEndRefreshing];
    }];
}


// 下拉刷新的原理
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
{
    if (scrollView.contentOffset.y < - 100) {
        
        [UIView animateWithDuration:1.0 animations:^{
            
            //  frame发生偏移,距离顶部150的距离(可自行设定)
            self.tableView.contentInset = UIEdgeInsetsMake(150.0f, 0.0f, 0.0f, 0.0f);
            
        } completion:^(BOOL finished) {
            
            // 发起网络请求,请求刷新数据
            
        }];
    }
}

// 上拉加载的原理
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
    NSLog(@"%f",scrollView.contentOffset.y);
    NSLog(@"%f",scrollView.frame.size.height);
    NSLog(@"%f",scrollView.contentSize.height);
    /**
     *  scrollView一开始并不存在偏移量,但是会设定contentSize的大小,所以contentSize.height永远都会比contentOffset.y高一个手机屏幕的高度;上拉加载的效果就是每次滑动到底部时,再往上拉的时候请求更多,那个时候产生的偏移量,就能让contentOffset.y + 手机屏幕尺寸的值大于这个滚动视图的contentSize.height
     */
    if (scrollView.contentOffset.y + scrollView.frame.size.height >= scrollView.contentSize.height) {
        
        NSLog(@"%d %s",__LINE__,__FUNCTION__);
        [UIView commitAnimations];
        
        [UIView animateWithDuration:1.0 animations:^{
            //  frame发生的偏移量,距离底部往上提高60(可自行设定)
            self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 60, 0);
        } completion:^(BOOL finished) {
            
            /**
             *  发起网络请求,请求加载更多数据
             *  然后在数据请求回来的时候,将contentInset改为(0,0,0,0)
             */
        }];
    }
}
#endif
